import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state:{//存储我们的状态
		listData:[
            {id:1,event:'晚自习写作业',states:false},
            {id:2,event:'中午取快递',states:false},
            {id:3,event:'早上考试',states:false},
        ],
        nextId:4,
        inputInfo:'',
    },
    getters:{//获取state的状态

    },
    mutations: {//函数来改变我们的状态
        
        setInputValue (state, val) {
            state.inputInfo = val
        },
        addItem(state){
            const obj = { // 生成数据
                id: state.nextId,event: state.inputInfo,states:false
            }
            if(state.inputInfo == "") return this.$message.warning('内容不能为空')
            state.listData.push(obj) // 添加数据
            state.nextId++ // 添加成功后，id自动递增
        },
        removeItem(state,i){
            state.listData.splice(i,1)
        }
       
    },
    actions:{//提交给mutations，让mutation来改变我们的状态（可以做异步）
        deleteItem(context,id){
            const i = context.state.listData.findIndex(x=>x.id === id)
            // findIndex方法 查找到符合条件的第一个的下标
            if(i!==-1) return context.commit('removeItem',i)
            // 查找不到返回-1，如果不是-1就删掉对应的数据
        }
    }
})